# -*- coding: utf-8 -*-


"""
多个线程在一起形成了线程池
一个线程的生命周期指线程创建到结束所经历的阶段
1.新建
    实例化了一个线程对象，此时线程还没有开始运行(threading.Thread)
2.就绪
    已经准备好运行， 线程等待cpu时间片，以便开始运行，已经具备了运行的所有条件，start
3.运行
    当线程获取cpu时间片，开始进入运行状态
4.阻塞
    等待I/O
5.终止
    当线程完成他的执行命令或者某种原因被迫停止，进入到终止状态，线程的生命周期也就结束了，所占用的资源全部释放

在生命周期，新建线程，系统需要重新分配资源，终止线程系统需要回收资源
大量使用线程资源，就需要不断地新建线程
可以重用线程，减少开销
线程池的主要目的: 重用线程，从而可以避免频繁的创建和销毁线程所带来的性能开销
线程池关闭: shutdown()
上下文管理器: with 自动关闭文件   调用close()方法 手动关闭
线程池管理的线程不会立即销毁
"""

with open()as f:
    f.write()
    f.close()

